package com.bbzn.device.client.dataobject;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@ApiModel(value = "com-bbzn-device-client-dataobject-Video")
@Getter
@Setter
@ToString
public class Video implements Serializable {
    @ApiModelProperty(value = "")
    private Long videoId;

    /**
     * 视频地址
     */
    @ApiModelProperty(value = "视频地址")
    private String videoUrl;

    /**
     * 状态 0审核中/1审核通过/2驳回/3隐藏/4举报
     */
    @ApiModelProperty(value = "状态 0审核中/1审核通过/2驳回/3隐藏/4举报")
    private Integer approvalStatus;

    /**
     * 视频标题
     */
    @ApiModelProperty(value = "视频标题")
    private String videoTitle;

    /**
     * 作者头像地址
     */
    @ApiModelProperty(value = "作者头像地址")
    private String authorPictureUrl;

    /**
     * 视频描述
     */
    @ApiModelProperty(value = "视频描述")
    private String videoDescribe;

    /**
     * 作者名称
     */
    @ApiModelProperty(value = "作者名称")
    private String authorName;

    /**
     * 用户手机号
     */
    @ApiModelProperty(value = "用户手机号")
    private String userPhone;

    /**
     * 点赞数量
     */
    @ApiModelProperty(value = "点赞数量")
    private Integer agreeNumber;

    /**
     * 播放次数
     */
    @ApiModelProperty(value = "播放次数")
    private Integer playNumber;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//页面写入数据库时格式化
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//页面写入数据库时格式化
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 驳回原因
     */
    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;

    /**
     * 举报原因
     */
    @ApiModelProperty(value = "举报原因")
    private String reportReason;

    /**
     * 封面图片地址
     */
    @ApiModelProperty(value = "封面图片地址")
    private String pageUrl;

    /**
     * 审批人用户ID
     */
    @ApiModelProperty(value = "审批人用户ID")
    private Long tntUserId;

    /**
     * 审批人用户名称
     */
    @ApiModelProperty(value = "审批人用户名称")
    private String tntUserName;

    private static final long serialVersionUID = 1L;
}